package com.chaoyong.higo.utils;

import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class TransferTool {
	
	/**
	 * utf_8编码格式转换
	 * @param value 为string
	 * @return
	 * @throws UnsupportedEncodingException
	 */
	public String utfCode(String value) throws UnsupportedEncodingException
	{
		return URLEncoder.encode(value, "utf-8");
	}
	
	/**
	 * string 转换 int
	 * @param value 为string
	 * @return
	 */
	public static int toInt(String value)
	{
		return Integer.parseInt(value);
	}
	
	/**
	 * 
	 * int 转换为string
	 * @param valus
	 * @return
	 */
	public static String toString(int valus)
	{
		return String.valueOf(valus);
	}
	 /**
     * 
     * @author jwang
     * @date 2013.4.19
     * @param macAddress
     * @return 
     */
//    private static boolean isMacAddress(String macAddress){
//        String reg = "^([0-9a-fA-F]){2}([:][0-9a-fA-F]{2}){5}";
//        return Pattern.compile(reg).matcher(macAddress).find();
//    }
    
    /**
     *
     * 正则表达式 判断是否为数字
     * @return boolean
     * @param str 
     * 
     */
    public boolean isNumeric(String str)
    {
          Pattern pattern = Pattern.compile("[0-9]*");
          Matcher isNum = pattern.matcher(str);
          if( !isNum.matches() )
          {
                return false;
          }
          return true;
    }
    
   /**
    * 
    * 隐藏电话号码
    * @param cell
    * @return
    */
   public String cellPhone(String cell)
   {
	   char[] str=cell.toCharArray();
	   for (int i = 3; i < 7; i++) {
		   str[i]='*';
	   }
	   String phone = String.valueOf(str);
	   return phone;
   }
   /**
    * 隐藏银行卡号
    * @param bank
    * @return
    */
   public static String bandCard(String bank)
   {
	   char[] str=bank.toCharArray();
	   for (int i = 0; i < bank.length()-3; i++) {
		   str[i]='*';
	   }
	   String phone = String.valueOf(str);
	   
	   char[] str1=phone.toCharArray();
	   String strs="";
	   for (int i = 0; i < phone.length(); i++) {
			if ((i+1) % 4==0 && i!=0) {
				strs+=String.valueOf(str1[i])+" ";
			}else {
				strs+=String.valueOf(str1[i]);
			}
	   }
	   return strs;
   }
   /**
    * 隐藏银行卡号
    * @param bank
    * @return
    */
   public String name(String bank)
   {
//	   List<Character> list=new ArrayList<Character>();
	   char[] str=bank.toCharArray();
	   for (int i = 2; i < bank.length()-4; i++) {
		   str[i]='*';
	   }
//	   for (int i = 0; i < str.length; i++) {
//		   if (i/4==0) {
//			  banks[i+1]=' ';
//			  int k=0;
//			  k++;
//			  banks[i+k]=str[i]; 
//		   }else {
//			  banks[i]=str[i]; 
//		   }
//	   }
	   String phone = String.valueOf(str);
	   return phone;
   }
   /**
    * 判断string字符
    * @param bank
    * @return
    */
   public int strNum(String bank)
   {
//	   List<Character> list=new ArrayList<Character>();
	   char[] str=bank.toCharArray();
//	   String phone = String.valueOf(str);
	   return str.length;
   }
   /**
    * 数字判断
    * @param mobiles
    * @return
    */
   public boolean isMobileNO(String mobiles) 
   {
	   return mobiles.matches("[0-9]+");
   }
   
   /**
    * 转化为“万”的
    * @param money
    * @return
    */
   public static String getSubMoney(String money) {
		if (money.substring(0, money.lastIndexOf(".")).length() >= 5) {
			double temp = Double.parseDouble(money) / 10000;
			java.text.DecimalFormat   df   =new   java.text.DecimalFormat("#.00");  
			return df.format(temp)+ "万";
		} else {
			return money;
		}
	}
   
 /**
  * 
  * 用于处理字符串的类
  * 获得target在源字符串src中最后一次出现位置之前的内容
  * 
  */
   public static String getString(String src, String target) {
	   
	   return src.substring(0, src.lastIndexOf(target));
   }
   /**
    * 带有.00的string转换为int
    * 
    */
   public static int Strtoint(String s,String tar)
   {
	   return toInt(getString(s,tar));
   }
//   /**
//    * 添加空格
//    * @param args
//    */
//   public static String main (String input)
//   {
//	   char[] str=input.toCharArray();
//	   String strs="";
//	   for (int i = 0; i < input.length(); i++) {
//			if ((i+1) % 4==0 && i!=0) {
//				strs+=String.valueOf(str[i])+" ";
//			}else {
//				strs+=String.valueOf(str[i]);
//			}
//	   }
//	   return strs;
//   }
}
